<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------

/*
return [
    '__pattern__' => [
        'name' => '\w+',
    ],
    '[hello]'     => [
        ':id'   => ['index/hello', ['method' => 'get'], ['id' => '\d+']],
        ':name' => ['index/hello', ['method' => 'post']],
    ],

];
 */

use think\Route;

Route::group('api', function() {

    // 接收(普通消息、事件推送)
    Route::rule('receives/:wxid', 'receive/v1.index/index'); // 接收

    // 短链接
    Route::post('url/short', 'url/v1.short/create'); // 生成

    // 参数二维码
    Route::post('qrcode', 'qrcode/v1.qrcode/create'); // 生成

    // 微信内授权登录
    Route::get('login/wechat', 'web/v1.login/index'); // 授权

    // JSSDK
    Route::get('js/sdk', 'web/v1.js/index'); // 获取

    // 自定义菜单
    Route::group('menus', function() {
        Route::get('self', 'menu/v1.index/config'); // 当前配置
        Route::get('', 'menu/v1.index/index'); // 查询
        Route::delete('', 'menu/v1.index/delete'); // 删除

        // 默认菜单
        Route::post('default', 'menu/v1.defaults/create'); // 创建

        // 个性化菜单
        Route::post('personalise', 'menu/v1.personalise/create'); // 新增
        Route::delete('personalise', 'menu/v1.personalise/delete'); // 删除
        Route::get('personalise/match', 'menu/v1.personalise/match'); // 匹配结果
    });

    // 消息模版
    Route::group('templates', function (){
        // 行业
        Route::get('industry', 'template/v1.industry/index'); // 所属行业
        Route::post('industry', 'template/v1.industry/create'); // 设置行业

        // 模版
        Route::get('', 'template/v1.template/index'); // 列表
        Route::delete('', 'template/v1.template/delete'); // 删除

        // 消息
        Route::post('msg', 'template/v1.message/send'); // 发送
    });


    // 素材
    Route::group('materials', function (){
        // 永久
        Route::get('permanent', 'material/v1.permanent/index'); // 列表
        Route::get('permanent/count', 'material/v1.permanent/count'); // 总数
        Route::post('permanent', 'material/v1.permanent/create'); // 新增
        Route::get('permanent/:media_id', 'material/v1.permanent/read'); // 获取
        Route::delete('permanent', 'material/v1.permanent/delete'); // 删除

        // 图文
        Route::post('news', 'material/v1.news/create'); // 新增
        Route::put('news', 'material/v1.news/update'); // 更新
        Route::post('news/upload', 'material/v1.news/uploadimg'); // 上传图片

        // 临时
        Route::post('temporary', 'material/v1.temporary/create'); // 新增
        Route::get('temporary', 'material/v1.temporary/download'); // 下载
    });

    // 用户标签
    Route::group('tags', function (){
        // 标签
        Route::get('', 'tag/v1.tag/index'); // 列表
        Route::post('', 'tag/v1.tag/create'); // 新增
        Route::put(':tagid', 'tag/v1.tag/update'); // 更新
        Route::delete('', 'tag/v1.tag/delete'); // 删除

        // 用户
        Route::get(':tagid/user', 'tag/v1.user/index'); // 标签下用户列表
        Route::post(':tagid/user', 'tag/v1.user/create'); // 新增
        Route::delete(':tagid/user', 'tag/v1.user/delete'); // 删除
    });

    // 粉丝用户
    Route::group('users', function (){
        // 黑名单
        Route::get('blacklist', 'user/v1.blacklist/index'); // 列表
        Route::post('blacklist', 'user/v1.blacklist/create'); // 新增
        Route::delete('blacklist', 'user/v1.blacklist/delete'); // 删除

        // 标签
        Route::get(':openid/tag', 'user/v1.tag/index'); // 列表

        // 列表
        Route::get('', 'user/v1.user/index'); // 列表
        Route::get('batchinfo', 'user/v1.user/readBatch'); // 基本信息(批量)
        Route::get(':openid', 'user/v1.user/read'); // 基本信息
        Route::put(':openid', 'user/v1.user/update'); // 更新备注名
    });

    Route::group('pays', function (){
        // 订单
        Route::get('order', 'pay/v1.order/read'); // 查询
        Route::post('order', 'pay/v1.order/create'); // 统一下单
        Route::delete('order', 'pay/v1.order/delete'); // 关闭

        // 退款
        Route::post('refund', 'pay/v1.refund/create'); // 申请
        Route::get('refund', 'pay/v1.refund/read'); // 查询

        // 支付
        Route::get(':pay_method', 'pay/v1.pay/index'); // 支付
    });
});

/**
 *  测试 start
 */

// 授权登录成功 重定向 测试接口
Route::post('wechat/save', function (){
    $request = request();

    return json([
        'status' => true,
        'data' => $request->param()
    ], 200);
});
// 推送 保存 用户信息 测试接口
Route::post('user/save', function (){
    $request = request();

    return json([
        'status' => true,
        'data' => $request->param()
    ], 200);
});
// 推送 被动回复 测试接口
Route::get('push/reply', function (){
    $request = request();

    $data = $request->param();
    $data['reply_type'] = 'text';
    $data['reply_content'] = '回复测试';
    return json([
        'statsu' => true,
        'data' => $data
    ], 200);
});
